home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / f2c / may_5_92.lha / f2c.VMay_5_1992 / libI77 / fio.h < prev    next >
C/C++ Source or Header  |  1992-05-07  |  1KB  |  72 lines

  1. #include "stdio.h"
  2. #ifndef NULL
  3. /* ANSI C */
  4. #include "stddef.h"
  5. #endif
  6.  
  7. #ifndef SEEK_SET
  8. #define SEEK_SET 0
  9. #define SEEK_CUR 1
  10. #define SEEK_END 2
  11. #endif
  12.  
  13. #ifdef MSDOS
  14. #ifndef NON_UNIX_STDIO
  15. #define NON_UNIX_STDIO
  16. #endif
  17. #endif
  18.  
  19. #ifdef UIOLEN_int
  20. typedef int uiolen;
  21. #else
  22. typedef long uiolen;
  23. #endif
  24.  
  25. /*units*/
  26. typedef struct
  27. {    FILE *ufd;    /*0=unconnected*/
  28.     char *ufnm;
  29. #ifndef MSDOS
  30.     long uinode;
  31.     int udev;
  32. #endif
  33.     int url;    /*0=sequential*/
  34.     flag useek;    /*true=can backspace, use dir, ...*/
  35.     flag ufmt;
  36.     flag uprnt;
  37.     flag ublnk;
  38.     flag uend;
  39.     flag uwrt;    /*last io was write*/
  40.     flag uscrtch;
  41. } unit;
  42.  
  43. extern int errno;
  44. extern flag init;
  45. extern cilist *elist;    /*active external io list*/
  46. extern flag reading,external,sequential,formatted;
  47. extern int (*getn)(),(*putn)();    /*for formatted io*/
  48. extern long inode();
  49. extern FILE *cf;    /*current file*/
  50. extern unit *curunit;    /*current unit*/
  51. extern unit units[];
  52. extern VOID sig_die();
  53. #define err(f,m,s) {if(f) errno= m; else fatal(m,s); return(m);}
  54.  
  55. /*Table sizes*/
  56. #define MXUNIT 100
  57.  
  58. extern int recpos;    /*position in current record*/
  59. extern int cursor;    /* offset to move to */
  60. extern int hiwater;    /* so TL doesn't confuse us */
  61.  
  62. #define WRITE    1
  63. #define READ    2
  64. #define SEQ    3
  65. #define DIR    4
  66. #define FMT    5
  67. #define UNF    6
  68. #define EXT    7
  69. #define INT    8
  70.  
  71. #define buf_end(x) (x->_flag & _IONBF ? x->_ptr : x->_base + BUFSIZ)
  72.